Digital still cameras continue to increase in popularity and quality as the cost of such cameras continues to decline. Most digital still cameras use a single image sensor to capture color information for each pixel in a color image. The image sensor, which is typically a charge-coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), is part of a sensor array that together represent the pixels of a color image.
The image sensor can only generate information about a single color at a given pixel. A color image, however, is represented by combining three separate monochromatic images. In order to display a color image, all of the red, blue and green (RGB) color values are needed at each pixel. In order to obtain the other two missing colors, a technique must be used to estimate or interpolate the missing colors from surrounding pixels in the image. This class of estimation and interpolation techniques is called “demosaicing”.
The “demosaicing” term is derived from the fact that a color filter array (CFA) is used in front of the image sensors, with the CFA being arranged in a mosaic pattern. This mosaic pattern has only one color value for each of the pixels in the image. In order to obtain the full-color image, the mosaic pattern must be “demosaiced”. Thus, demosaicing is the technique of interpolating back the image captured with a mosaic-pattern CFA, so that a full RGB value can be associated with every pixel.
More specifically, a single-sensor digital camera captures the image using an image sensor array that is preceded in the optical path by a CFA. A highly popular and common mosaic CFA is called the Bayer mosaic pattern. For each 2×2 set of pixels, two diagonally opposed pixels have green filters, and the other two pixels have red and blue filters. Since the color green (G) carries most of the luminance information for humans, its sampling rate is twice that of the color red (R) and the color blue (B).
There are many types of demosaicing techniques currently available, such as bilinear interpolation, median filtering, vector CFA, gradient-based, and statistical modeling. However, each of these current demosaicing techniques produces visual and quantitatively measurable artifacts. These artifacts include aliasing or “zippering” artifacts, where every other pixel along an edge alternates between being considered on or off the edge, and color fringing, where yellows, purples, and cyans appear along or on sharp edges.